The Announce Mechanism in Detail
When an announce for a destination is transmitted by from a Reticulum instance, it will be forwarded by any transport node receiving it, but according to some specific rules:
If this exact announce has already been received before, ignore it.
If not, record into a table which Transport Node the announce was received from, and how many times in total it has been retransmitted to get here.
If the announce has been retransmitted m+1 times, it will not be forwarded any more. By default, m is set to 128.
After a randomised delay, the announce will be retransmitted on all interfaces that have bandwidth available for processing announces. By default, the maximum bandwidth allocation for processing announces is set at 2%, but can be configured on a per-interface basis.
If any given interface does not have enough bandwidth available for retransmitting the announce, the announce will be assigned a priority inversely proportional to itβs hop count, and be inserted into a queue managed by the interface.
When the interface has bandwidth available for processing an announce, it will prioritise announces for destinations that are closest in terms of hops, thus prioritising reachability and connectivity of local nodes, even on slow networks that connect to wider and faster networks.
After the announce has been re-transmitted, and if no other nodes are heard retransmitting the announce with a greater hop count than when it left this node, transmitting it will be retried r times. By default, r is set to 1.
If a newer announce from the same destination arrives, while an identical one is already waiting to be transmitted, the newest announce is discarded. If the newest announce contains different application specific data, it will replace the old announce.
Once an announce has reached a node in the network, any other node in direct contact with that node will be able to reach the destination the announce originated from, simply by sending a packet addressed to that destination. Any node with knowledge of the announce will be able to direct the packet towards the destination by looking up the next node with the shortest amount of hops to the destination.
According to these rules, an announce will propagate throughout the network in a predictable way, and make the announced destination reachable in a short amount of time. Fast networks that have the capacity to process many announces can reach full convergence very quickly, even when constantly adding new destinations. Slower segments of such networks might take a bit longer to gain full knowledge about the wide and fast networks they are connected to, but can still do so over time, while prioritising full and quickly converging end-to-end connectivity for their local, slower segments.
In general, even extremely complex networks, that utilize the maximum 128 hops will converge to full end-to-end connectivity in about one minute, given there is enough bandwidth available to process the required amount of announces.
N O D E N A V I G A T I O N :
THIS IS A PART OF THE
Back to the Node Startpage